#include "XmlInfoNom.hpp"

#include <iostream>

using namespace std;

XmlInfoNom XmlInfoNom::creeInstance( const QString& nomFichier,
				     const QHash< QString, QString > * infos )
{
  QString nomStr( (*infos)[ QString::fromUtf8( "name" ) ] );

  if ( nomStr . isNull() )
    {
      cerr << "Erreur dans " << "'XmlInfoNom::creeInstance'" << endl;
      cerr << "Impossible de récupérer le champ 'name'" << endl;
      return XmlInfoNom();
    }

  return XmlInfoNom( XmlInfoIdentifiant::creeInstance( nomFichier, infos ),
		     nomStr );						       
}

XmlInfoNom::XmlInfoNom()
  : XmlInfoIdentifiant(), Nom( "" )
{}

XmlInfoNom::XmlInfoNom( const XmlInfoIdentifiant& id, const QString& nom )
  : XmlInfoIdentifiant( id ), Nom( nom )
{}

XmlInfoNom::XmlInfoNom( const QString& nomFichier, const unsigned& id,
			const QString& nom )
  : XmlInfoIdentifiant( nomFichier, id ), Nom( nom )
{}

XmlInfoNom::XmlInfoNom( const XmlInfoNom& nom )
  : XmlInfoIdentifiant( nom ), Nom( nom.nom() )
{}

XmlInfoNom::~XmlInfoNom()
{}

XmlInfoNom& XmlInfoNom::operator=( const XmlInfoNom& nom )
{
  if ( &nom != this )
    {
      this -> XmlInfoIdentifiant::operator=( nom );

      Nom = nom.nom();
    }

  return *this;
}

const QString& XmlInfoNom::nom() const
{
  return Nom;
}

void XmlInfoNom::setNom( const QString& nom )
{
  Nom = nom;
}
